www.gusucode.com > wxApp PHP版微信小程序CMS系统 v1.0PHP源码程序 > wxApp PHP版微信小程序CMS系统 v1.0/wxAppCMS_v1.0.0/wxAppCMS_v1.0.0/app/weixin/admincp/weixin.event.add.php
<?php /** * iCMS - i Content Management System * Copyright (c) 2007-2017 iCMSdev.com. All rights reserved. * * @author icmsdev <master@icmsdev.com> * @site https://www.icmsdev.com * @licence https://www.icmsdev.com/LICENSE.html */ defined('iPHP') OR exit('What are you doing?'); admincp::head(); ?> <script type="text/javascript"> $(function() { var msgArray = <?php echo $rs['msg']?$rs['msg']:'null'; ?>; $("#eventype").bind('chosen:updated change', function(event) { eventype_change(this); }); $("#msgtype").bind('chosen:updated change', function(event) { msgtype_change(this); }); $("#wx_appid").bind('chosen:updated change', function(event) { var appid = $('option:selected', this).val(); var type = $('option:selected', this).data('type'); if(type=="3"){ var opts = $("#msgtype-wxapp").html(); }else{ var opts = $("#msgtype-default").html(); } $("#msgtype").html(opts).trigger("chosen:updated"); $('.media_modal[data-toggle="modal"]').each(function(index, el) { var url = $(this).attr('href'); var pos = url.indexOf('&wx_appid'); if (pos > 0) { url = url.substring(0, pos); } url += '&wx_appid=' + appid; $(this).attr('href', url); }); }); function eventype_change(a) { var $opts = $('option:selected', a); var type = $opts.parent().data('type'); var g_addon = $opts.parent().data('addon') || '事件KEY值'; var g_help = $opts.parent().data('help') || '事件KEY值,与自定义菜单接口中KEY值对应'; var addon = $opts.data('addon') || g_addon; var help = $opts.data('help') || g_help; var is_def = $opts.data('default') var is_operator = $opts.data('operator') $("#operator_input").hide(); $("#eventkey_input .add-on").text(addon); $("#eventkey_input .help-inline").text(help); if (is_def) { var select = $opts.val(), text = $opts.text(); $("#name").val(text); $("#eventkey").val(select); } if (is_operator) { $("#operator_input").show(); } } function msg(msgArray, keyArray, name) { $.each(msgArray, function(index, value) { if (typeof(value) === 'object') { keyArray.push('[' + index + ']'); msg(value, keyArray, name); keyArray = []; } else if (typeof(value) === 'string') { var key = keyArray.join('') + '[' + index + ']'; if (name) { var kname = '[name="msg[' + name + ']' + key + '"]'; } else { var kname = '[name="msg' + key + '"]'; } console.log(kname); $(kname).val(value); } }); // console.log(keyArray); } function msgtype_change(a) { var select = $('option:selected', a).val(); var clone = $('#msg-' + select).clone(true).show(); $('#msg').html(clone); if (select == 'news') { $('#msg').html('<a name="additem" class="btn btn-inverse">添加一条</a>'); if (msgArray) { $.each(msgArray['Articles'], function(index, value) { articles_item(); }); msg(msgArray['Articles'], [], 'Articles'); } else { articles_item(); } } else { if (msgArray) { msg(msgArray, []); } } } $("#msg").on("click", 'a[name="additem"]', function(event) { event.preventDefault(); articles_item(); }); $("#msg").on("click", 'a[name="delitem"]', function(event) { event.preventDefault(); $(this).parent().remove(); }); $("#iCMS-event").submit(function() { var eventype = $("#eventype option:selected").attr("value"); if (eventype == "0") { iCMS.alert("请选择事件类型"); $("#eventype").focus(); return false; } if ($("#name").val() == '') { iCMS.alert("请填写事件名称!"); $("#name").focus(); return false; } if ($("#eventkey").val() == '') { iCMS.alert("请填写事件KEY值!"); $("#eventkey").focus(); return false; } if (eventype == "keyword") { if ($("#operator option:selected").attr("value") == "0") { iCMS.alert("请选择关键词匹配模式"); $("#operator").focus(); return false; } } if ($("#msgtype option:selected").attr("value") == "0") { iCMS.alert("请选择回复消息的类型"); $("#msgtype").focus(); return false; } }); }); function articles_item() { var length = $('#msg .articles_item').length + 1; var clone = $('#msg-news .articles_item').clone(true); var dkey = $(".articles_item:last", '#msg').attr('data-key'); if (length > 10) { iCMS.alert("图文信息最多只能添加10条"); return false; } if (typeof dkey == "undefined") { key = 0; } else { key = parseInt(dkey) + 1; } var html = clone[0].outerHTML.replace(/\{KEY\}/g, key); $('#msg').append(html); } function modal_media(e, a) { if (!e) return; if (!a.checked) return; $('#' + e, $('#msg')).val(a.value); return 'off'; } function modal_tplfile(e, a) { if (!e) return; if (!a.checked) return; var val = a.value.replace(iCMS.config.DEFTPL + '/', "{iTPL}/"); $('#' + e, $('#msg')).val(val); return 'off'; } </script> <div class="iCMS-container"> <div class="widget-box"> <div class="widget-title"> <span class="icon"> <i class="fa fa-plus-square"></i> </span> <h5><?php echo empty($id)?'添加':'修改' ; ?>事件</h5> </div> <div class="widget-content nopadding"> <form action="<?php echo APP_FURI; ?>&do=event_save" method="post" class="form-inline" id="iCMS-event" target="iPHP_FRAME"> <input name="id" type="hidden" value="<?php echo $id ; ?>" /> <div id="event-add" class="tab-content"> <div class="input-prepend input-append"> <span class="add-on">公众号</span> <select name="wx_appid" id="wx_appid" class="chosen-select span5"> <option></option> <?php echo $this->option(); ?> </select> </div> <script>$(function() { iCMS.select('wx_appid', "<?php echo $rs['appid']?$rs['appid']:$_GET['wx_appid'];?>"); })</script> <span class="help-inline">请选择绑定事件的公众号</span> <div class="clearfloat mb10"></div> <div class="input-prepend"> <span class="add-on">事件类型</span> <select name="eventype" id="eventype" class="span5 chosen-select" data-placeholder="请选择事件类型..."> <option value='0'></option> <optgroup label="用户消息" data-type="keyword" data-addon="关键词" data-help="用户输入的关键词"> <option value='keyword' data-operator="true">关键词</option> </optgroup> <optgroup label="菜单事件" data-type="event"> <option value='click'>点击事件</option> <option value='view' data-addon="跳转URL" data-help="设置跳转URL">跳转链接</option> <option value='scancode_push'>扫码推事件</option> <option value='scancode_waitmsg'>扫码带提示</option> <option value='pic_sysphoto'>系统拍照发图</option> <option value='pic_photo_or_album'>拍照或者相册发图</option> <option value='pic_weixin'>微信相册发图器</option> <option value='location_select'>地理位置选择器</option> </optgroup> <optgroup label="系统事件" data-type="system" data-help="此类型事件可不填写"> <option value='subscribe' data-default="true">关注</option> <option value='unsubscribe' data-default="true">取消关注</option> <option value='location' data-default="true">上报地理位置</option> </optgroup> <optgroup label="小程序客服会话" data-type="contact"> <option value='contact_text' data-operator="true" data-addon="关键词" data-help="用户输入的关键词">文本消息</option> <option value='contact_image'>图片消息</option> <option value='miniprogrampage'>小程序卡片消息</option> </optgroup> </select> </div> <script>$(function() { iCMS.select('eventype', "<?php echo $rs['eventype'];?>"); })</script> <span class="help-inline">如无法使用,请确认是否需要公众号认证</span> <div class="clearfloat mb10"></div> <div class="input-prepend"> <span class="add-on">事件名称</span> <input type="text" name="name" class="span6" id="name" value="<?php echo $rs['name'] ; ?>" /> </div> <span class="help-inline">事件中文名称</span> <div class="clearfloat mb10"></div> <div id="eventkey_input"> <div class="input-prepend"> <span class="add-on">事件KEY值</span> <input type="text" name="eventkey" class="span6" id="eventkey" value="<?php echo $rs['eventkey'] ; ?>" /> </div> <span class="help-inline">事件KEY值,与自定义菜单接口中KEY值或回复的关键词对应</span> <div class="clearfloat mb10"></div> </div> <div id="operator_input" class="hide"> <div class="input-prepend"> <span class="add-on">匹配模式</span> <select name="operator" id="operator" class="span3 chosen-select" data-placeholder="请选择关键词匹配模式..."> <option value='0'></option> <option value='eq'>完全匹配</option> <option value='in'>包含关键词</option> <option value='re'>正则</option> </select> </div> <div class="clearfloat mb10"></div> <script>$(function() { iCMS.select('operator', "<?php echo $rs['operator'];?>"); })</script> </div> <div class="input-prepend input-append"> <span class="add-on">事件属性</span> <select name="pid" id="pid" class="chosen-select span3"> <option></option> <?php echo propAdmincp::get("pid") ; ?> </select> <?php echo propAdmincp::btn_add('添加常用属性');?> </div> <script>$(function() { iCMS.select('pid', "<?php echo $rs['pid'];?>"); })</script> <div class="clearfloat mb10"></div> <div class="input-prepend input-append"> <span class="add-on">事件状态</span> <select name="status" id="status" class="chosen-select span3"> <option value="1">正常[status='1']</option> <option value="0">草稿[status='0']</option> <?php echo propAdmincp::get("status");?> </select> <?php echo propAdmincp::btn_add('添加状态');?> </div> <script>$(function() { iCMS.select('status', "<?php echo $rs['status'];?>"); })</script> <div class="clearfloat mb10"></div> <div class="input-prepend"> <span class="add-on">回复类型</span> <select name="msgtype" id="msgtype" class="span3 chosen-select" data-placeholder="请选择回复消息的类型..."> <option value='0'></option> <optgroup label="公众号"> <option value='text'>文本消息</option> <option value='image'>图片消息</option> <option value='voice'>语音消息</option> <option value='video'>视频消息</option> <option value='music'>音乐消息</option> <option value='news'>图文消息</option> <option value='tpl'>调用模板</option> </optgroup> </select> </div> <script>$(function() { iCMS.select('msgtype', "<?php echo $rs['msgtype'];?>"); })</script> <div class="clearfloat mb10"></div> <div id="msg"></div> </div> <div class="form-actions"> <button class="btn btn-primary" type="submit"><i class="fa fa-check"></i> 提交</button> </div> </form> </div> </div> </div> <div style="display:none;" id="msgtype-default"> <option value='0'></option> <optgroup label="公众号"> <option value='text'>文本消息</option> <option value='image'>图片消息</option> <option value='voice'>语音消息</option> <option value='video'>视频消息</option> <option value='music'>音乐消息</option> <option value='news'>图文消息</option> <option value='tpl'>调用模板</option> </optgroup> </div> <div style="display:none;" id="msgtype-wxapp"> <option value='0'></option> <optgroup label="小程序客服会话"> <option value='wxapp-text'>文本消息</option> <option value='wxapp-image'>图片消息</option> <option value='wxapp-link'>图文链接</option> <option value='wxapp-miniprogrampage'>小程序卡片</option> </optgroup> </div> <div style="display:none;" id="msg-wxapp-text"> <div class="input-prepend"> <span class="add-on">消息内容</span> <textarea name="msg[text][content]" id="msg_text_content" class="span6" style="height: 150px;"></textarea> </div> <div class="clearfloat mt10"></div> <span class="help-inline"> 发送文本消息时,支持添加可跳转小程序的文字链<br /> <code>文本内容....<a href="http://www.qq.com" data-miniprogram-appid="appid" data-miniprogram-path="pages/index/index">点击跳小程序</a></code> </span> </div> <div style="display:none;" id="msg-wxapp-image"> <div class="input-prepend input-append"> <span class="add-on">MediaId</span> <input type="text" name="msg[image][media_id]" class="span6" id="msg_wxapp_image_media_id" value="" /> <?php echo self::modal_btn('素材','msg_wxapp_image_media_id','image');?> </div> <span class="help-inline">通过上传多媒体文件,得到的media_id。</span> </div> <div style="display:none;" id="msg-wxapp-link"> <div class="input-prepend"> <span class="add-on">图文标题</span> <input type="text" name="msg[link][title]" class="span6" id="msg_link_title" value="" /> </div> <span class="help-inline">图文链接标题</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">图文描述</span> <textarea name="msg[link][description]" id="msg_link_description" class="span6" style="height: 150px;"></textarea> </div> <span class="help-inline">图文链接描述</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">图文链接</span> <input type="text" name="msg[link][url]" class="span6" id="msg_link_url" value="" /> </div> <span class="help-inline">图文链接</span> <div class="clearfloat mt10"></div> <div class="input-prepend input-append"> <span class="add-on">缩略图</span> <input type="text" name="msg[link][thumb_url]" class="span6" id="msg_link_thumb_url" value="" /> <?php filesAdmincp::pic_btn("msg_link_thumb_url");?> </div> <span class="help-inline">图文链接消息的图片链接,支持 JPG、PNG 格式,较好的效果为大图 640 X 320,小图 80 X 80</span> </div> <div style="display:none;" id="msg-wxapp-miniprogrampage"> <div class="input-prepend"> <span class="add-on">小程序标题</span> <input type="text" name="msg[miniprogrampage][title]" class="span6" id="msg_miniprogrampage_title" value="" /> </div> <span class="help-inline">小程序标题</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">小程序页面</span> <input type="text" name="msg[miniprogrampage][pagepath]" class="span6" id="msg_miniprogrampage_pagepath" value="" /> </div> <span class="help-inline">小程序的页面路径,跟app.json对齐,支持参数,比如/pages/index/index?foo=bar</span> <div class="clearfloat mt10"></div> <div class="input-prepend input-append"> <span class="add-on">缩略图</span> <input type="text" name="msg[miniprogrampage][thumb_media_id]" class="span6" id="msg_miniprogrampage_thumb_media_id" value="" /> <?php echo self::modal_btn('素材','msg_miniprogrampage_thumb_media_id','image');?> </div> <span class="help-inline">小程序消息卡片的封面, image类型的media_id,通过新增素材接口上传图片文件获得,建议大小为520*416</span> </div> <div style="display:none;" id="msg-text"> <div class="input-prepend"> <span class="add-on">消息内容</span> <textarea name="msg[Text]" id="msg_Text" class="span6" style="height: 150px;"></textarea> </div> <span class="help-inline">回复的消息内容(换行:在content中能够换行,微信客户端就支持换行显示)</span> </div> <div style="display:none;" id="msg-image"> <div class="input-prepend input-append"> <span class="add-on">MediaId</span> <input type="text" name="msg[Image][MediaId]" class="span6" id="msg_Image_MediaId" value="" /> <?php echo self::modal_btn('素材','msg_Image_MediaId','image');?> </div> <span class="help-inline">通过上传多媒体文件,得到的media_id。</span> </div> <div style="display:none;" id="msg-voice"> <div class="input-prepend input-append"> <span class="add-on">MediaId</span> <input type="text" name="msg[Voice][MediaId]" class="span6" id="msg_Voice_MediaId" value="" /> <?php echo self::modal_btn('素材','msg_Voice_MediaId','voice');?> </div> <span class="help-inline">通过上传多媒体文件,得到的media_id。</span> </div> <div style="display:none;" id="msg-video"> <div class="input-prepend input-append"> <span class="add-on">MediaId</span> <input type="text" name="msg[Video][MediaId]" class="span6" id="msg_Video_MediaId" value="" /> <?php echo self::modal_btn('素材','msg_Video_MediaId','video');?> </div> <span class="help-inline">通过上传多媒体文件,得到的media_id。</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">视频标题</span> <input type="text" name="msg[Video][Title]" class="span6" id="msg_Video_Title" value="" /> </div> <span class="help-inline">视频消息的标题</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">视频描述</span> <textarea name="msg[Video][Description]" id="msg_Video_Description" class="span6" style="height: 150px;"></textarea> </div> <span class="help-inline">视频消息的描述</span> </div> <div style="display:none;" id="msg-music"> <div class="input-prepend"> <span class="add-on">音乐标题</span> <input type="text" name="msg[Music][Title]" class="span6" id="msg_Music_Title" value="" /> </div> <span class="help-inline">音乐标题</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">音乐描述</span> <textarea name="msg[Music][Description]" id="msg_Music_Description" class="span6" style="height: 150px;"></textarea> </div> <span class="help-inline">音乐描述</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">音乐链接</span> <input type="text" name="msg[Music][MusicUrl]" class="span6" id="msg_Music_MusicUrl" value="" /> </div> <span class="help-inline">音乐链接</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">高质量</span> <input type="text" name="msg[Music][HQMusicUrl]" class="span6" id="msg_Music_HQMusicUrl" value="" /> </div> <span class="help-inline">高质量音乐链接,WIFI环境优先使用该链接播放音乐</span> <div class="clearfloat mt10"></div> <div class="input-prepend input-append"> <span class="add-on">缩略图</span> <input type="text" name="msg[Music][ThumbMediaId]" class="span6" id="msg_Music_ThumbMediaId" value="" /> <?php echo self::modal_btn('素材','msg_Music_ThumbMediaId','image');?> </div> <span class="help-inline">缩略图的媒体id,通过上传多媒体文件,得到的media_id</span> </div> <div style="display:none;" id="msg-news"> <div class="articles_item" data-key="{KEY}"> <hr /> <div class="input-prepend"> <span class="add-on">图文标题</span> <input type="text" name="msg[Articles][{KEY}][item][Title]" class="span6" id="msg_Articles_{KEY}_item_Title" value="" /> </div> <span class="help-inline">图文标题</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">图文描述</span> <textarea name="msg[Articles][{KEY}][item][Description]" id="msg_Articles_{KEY}_item_Description" class="span6" style="height: 150px;"></textarea> </div> <span class="help-inline">图文描述</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">图片链接</span> <input type="text" name="msg[Articles][{KEY}][item][PicUrl]" class="span6" id="msg_Articles_{KEY}_item_PicUrl" value="" /> </div> <span class="help-inline">图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200</span> <div class="clearfloat mt10"></div> <div class="input-prepend"> <span class="add-on">图文链接</span> <input type="text" name="msg[Articles][{KEY}][item][Url]" class="span6" id="msg_Articles_{KEY}_item_Url" value="" /> </div> <span class="help-inline">点击图文消息跳转链接</span> <div class="clearfloat mt10"></div> <a name="delitem" class="btn btn-danger">删除</a> </div> </div> <div style="display:none;" id="msg-tpl"> <div class="input-prepend input-append"> <span class="add-on">API模板</span> <input type="text" name="msg[Tpl]" class="span3" id="msg_Tpl" /> <?php echo filesAdmincp::modal_btn('模板','msg_Tpl','file','tplfile');?> </div> <span class="help-inline">可在模板中调用各应用数据</span> </div> <?php admincp::foot();?>